﻿using System;
using Ewk.Math.Algebra;

namespace Ewk.MachineLearning.Clustering.MultidimensionalScaling
{
    /// <summary>
    /// Contains angles between vectors.
    /// </summary>
    /// <typeparam name="T">The <see cref="Type"/> of the elements of the <see cref="Vector{T}"/></typeparam>
    public class AngleContainer<T> : DifferenceContainer<T>
        where T : struct, IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T>
    {
        /// <summary>
        /// Initializes a new instance.
        /// </summary>
        /// <param name="vectors">The <see cref="Vector{T}"/> list to calculate difference angles for.</param>
        public AngleContainer(params Vector<T>[] vectors)
            : base(Vector<T>.CosAngle, vectors)
        {
        }
    }
}